Compile-Time Parallelism Evaluation in a Loop-Parallelizing Environment
نویسندگان
چکیده
In this paper we present an approach to the static evaluation of the parallelism of DO-loops in an automatic parallelizing environment. The evaluation is performed from the dependence graph with a set of dependence relations between statements of the loop. The presence of control dependences due to conditional statements is also considered, evaluating in this case bounds of the loop parallelism obtained for particular branch sequences predicted at compile-time. A parallelizing compiler could use the measure of parallelism to take a priory decisions when parallelizing its associated loop. It can also be used as an absolute reference to compare different parallelization techniques. Index Terms Conditional statements, dependence graph, DO-loops, parallelism evaluation, parallelizing compilers, upper and lower bounds of parallelism.
منابع مشابه
A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy
Loops are the main source of parallelism in scientific programs. Hence, several techniques were developed to detect parallelism in these loops and transform them into parallel forms. In this dissertation, compile time transformations and efficient parallel execution of loops with various type of dependencies are investigated. First, Doacross loops with uniform dependencies are considered for ex...
متن کاملParallelizing while loops for multiprocessor systems
Current parallelizing compilers treat WHILE loops and DO loops with conditional exits as sequential constructs because their iteration space is unknown. Motivated by the fact that these types of loops arise frequently in practice, we have developed techniques that can be used to automatically transform them for parallel execution. We succeed in parallelizing loops involving linked lists travers...
متن کاملThe Loop Parallelizer LooPo
We report on a prototype for testing diierent methods of space-time mapping loop nests. LooPo admits perfect or imperfect loop nests in a number of imperative languages, takes data dependences from the user or derives them itself from the source code, provides a choice of strategies for scheduling and allocating the loop nest's iterations, and produces synchronous or asynchronous parallel targe...
متن کاملCompiler Support for Machine Independent Parallelization of Irregular Problems Compiler Support for Machine Independent Parallelization of Irregular Problems
The Fortran D group at Rice University aims at providing a machine independent data parallel programming style, in which the applications programmer uses a dialect of sequential Fortran and high level distribution annotations. Extracting parallelism from these applications typically is straightforward, but making eecient use of this par-allelism for irregular applications, such as molecular dyn...
متن کاملDynamic and Speculative Polyhedral Parallelization of Loop Nests Using Binary Code Patterns
Speculative parallelization is a classic strategy for automatically parallelizing codes that cannot be handled at compile-time due to the use of dynamic data and control structures. Another motivation of being speculative is to adapt the code to the current execution context, by selecting at run-time an efficient parallel schedule. However, since this parallelization scheme requires on-the-fly ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1990